class Lader//类声明 Lader - 梯形
{	//类体
    double above,bottom,height;//在类中定义三个double类型的变量，分别为上底边、下底边、高
    Lader(){}//在类中定义无参数的构造方法
    Lader(double a,double b,double h)//在类中定义有参数的构造方法
    {
        above=a;//将参数a的值赋给above
        bottom=b;//将参数b的值赋给bottom
        height=h;//将参数h的值赋给height
    }
    public void setAbove(double a)//在类中定义的一个公开共的方法setAbove - 设置上底边长，该方法含有一个类型为double的参数a，无返回值
    {
        above=a;//将参数a的值赋给above
    }
    public void setBottom(double b)//在类中定义的一个公开共的方法setBottom - 设置下底边长，其中含有一个类型为double的参数b，无返回值
    {
        bottom=b;//将参数b的值赋给bottom
    }
    public void setHeight(double h)//在类中定义的一个公开共的方法ssetHeight - 设置高度，包含一个类型为double的参数h，无返回值
    {
        height=h;//将参数h的值赋给height
    }
    double computeArea()//在类中定义的一个无参数、返回类型为double的方法computeArea - 计算梯形的面积
    {
       return (above+bottom)*height/2.0;//返回（上底边长+下底边长）*高/2的值，即梯形的面积
    }
}

public class Example4_1
{
    public static void main(String args[])
    {
        double area1=0,area2=0;//定义两个double类型的变量area1、area2并分别初始化为0
        Lader laderOne,laderTwo;//声明对象laderOne,laderTwo
        laderOne=new Lader();//使用无参数的构造方将laderOne实例化
        laderTwo=new Lader(10,88,20);//使用有无参数的构造方将laderTwo实例化
        laderOne.setAbove(16);//将对象laderOne中的上底边设置为16
        laderOne.setBottom(26);//将对象laderOne中的下底边设置为26
        laderOne.setHeight(100);//将对象laderOne中的高设置为100
        laderTwo.setAbove(300);//将对象laderTwo中的上底边设置为300
        laderTwo.setBottom(500);//将对象laderTwo中的下底边设置为500
        area1=laderOne.computeArea();//调用对象laderOne中的方法computeArea()计算出梯形1的面积，并把存到area1中
        area2=laderTwo.computeArea();//调用对象laderTwo中的方法computeArea()计算出梯形2的面积，并把存到area2中
        System.out.println(area1);//输出area1的值并换行
        System.out.println(area2);//输出area2的值并换行
    }
}
